GtkWindow: Don't double free export user data
authorJonas Ådahl <jadahl@gmail.com>
Tue, 9 May 2017 15:07:02 +0000 (23:07 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 9 May 2017 15:23:11 +0000 (23:23 +0800)
The user data passed when exporting a Wayland window was supposed to be
freed using the destroy_func, as is commonly done. This was previously
broken, as the user data was just NULL:ed when exported, and only
actually destroyed when unexporting before having exported.

While e016d9a5dba6f6f99aee94d0b72c00bee299b96a fixed this, it introduced
a regression, as GtkWindow was nice enough to free the memory anyway
after having received the exported handle, causing it now to double
free.

https://bugzilla.gnome.org/show_bug.cgi?id=782109

gtk/gtkwindow.c

index 6efc3cc89b61f86cfa63d1397a2410d6f8528943..813a79710e08709e5c9d6855e2acd0e9c20e1caa 100644 (file)
@@ -11261,8 +11261,6 @@ wayland_window_handle_exported (GdkWindow  *window,
   handle_str = g_strdup_printf ("wayland:%s", wayland_handle_str);
   data->callback (data->window, handle_str, data->user_data);
   g_free (handle_str);
-
-  g_free (data);
 }
 #endif